﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace WrapperSwigCreaCarte
{
    class Program
    {
        static void Main(string[] args)
        {
            int nbjoueur = 2;
            int taillemap = 25;
            int positEnseignant = 0;
            int deplEnseignant = 5;
            int numJoueur = 1;

            CreaCarte macartr = new CreaCarte(nbjoueur, taillemap);
            macartr.run();

            /** PLEASE NOTE **/
            vector_mapintint resultat = macartr.get_result();
            //same as
            // IList<IDictionary<int, int>> resultat = macartr.get_result();
            // use the same functions, as it was IList or IDictionnary !
            
            /** TEST **/
            //macartr.print();
            //Console.Write(resultat[12][1]);

            int i = 0;
            foreach (map_intint v in resultat)
            {
                Console.Write("Case " + i + "\n");

                if (v[(int)propriete.JOUEUR] != -1)
                {
                    Console.Write("Joueur n°" + v[(int)propriete.JOUEUR]);
                    Console.WriteLine();
                }

                if (v[(int)propriete.RESSOURCE] != -1)
                {
                    Console.Write("Ressource " + v[(int)propriete.RESSOURCE]);
                    Console.WriteLine();
                }

                if (v[(int)propriete.TERRAIN] != -1)
                {
                    Console.Write("Terrain " + v[(int)propriete.TERRAIN]);
                    Console.WriteLine();
                }

                i++;
                if (i % 50 == 0)
                    Console.ReadLine();
            }

            
            Console.ReadLine();


            //Test de la recherche d'une place pour la construction d'une ville
            PlacePourVilles places = new PlacePourVilles(numJoueur, positEnseignant, deplEnseignant, resultat, taillemap);
            places.run();
            vector_int resultat2 = places.get_result();

            Console.Write(resultat2[0]);
            Console.Write(resultat2[1]);
            Console.Write(resultat2[2]);
            Console.ReadLine();
        }
    }
}
